const { body, validationResult } = require('express-validator');

// 检查验证结果
const checkValidation = (req, res, next) => {
  const errors = validationResult(req);
  if (!errors.isEmpty()) {
    return res.status(400).json({ errors: errors.array() });
  }
  next();
};

// 用户注册验证规则
const registerValidator = [
  body('username', '用户名是必需的').notEmpty(),
  body('email', '请输入有效的电子邮件地址').isEmail(),
  body('password', '密码必须至少6个字符').isLength({ min: 6 }),
  checkValidation
];

// 用户登录验证规则
const loginValidator = [
  body('username', '用户名是必需的').notEmpty(),
  body('password', '密码是必需的').notEmpty(),
  checkValidation
];

// 健康数据验证规则
const healthDataValidator = [
  body('data_type', '数据类型是必需的').notEmpty(),
  body('value', '数值是必需的并且必须是数字').isNumeric(),
  body('unit', '单位是必需的').notEmpty(),
  checkValidation
];

// 健康报告验证规则
const healthReportValidator = [
  body('title', '标题是必需的').notEmpty(),
  body('report_date', '报告日期是必需的').notEmpty(),
  checkValidation
];

module.exports = {
  registerValidator,
  loginValidator,
  healthDataValidator,
  healthReportValidator
}; 